home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1997 November / Macworld (1997-11).dmg / Updaters / Planet Goodies 7.image / Serial2ISDN / Scripts ARA / US / S2ISDN for ARA / S2ISDN for ARA next >
Text File  |  1997-04-07  |  8KB  |  325 lines

  1. !  Serial2ISDN for ARA.
  2. !
  3. !  This script is supposed to be used with the Euronis Planet-ISDN card and
  4. !  the control panel Serial2ISDN (which is used to create a virtual serial port
  5. !  for the ISDN card for ARA or PPP to use)
  6. !
  7. !  Jean Christophe ISTIN & Frédéric ISRAEL for SAGEM/SAT France
  8. !  Version : 1.0.5
  9. !  Date    : March 25, 1997
  10. !
  11. !  'mlts' resource info for this adapter:
  12. !    byte 1 == 00 -> modem has NO built-in reliability protocols
  13. !    byte 2 == 00 -> reserved by Apple
  14. !    byte 3 == 1E -> max hex chars in varstr 7 (30 dec)
  15. !    byte 4 == 00 -> max hex chars in varstr 8
  16. !    byte 5 == 00 -> max hex chars in varstr 9
  17. !
  18. !•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  19. ! Set up Serial2ISDN - label range is 1-10
  20. !•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  21. @ORIGINATE
  22. @ANSWER
  23. !
  24. ! ========== LABEL 1 & 2 -------------------------------------------------------
  25. !
  26. @LABEL 1
  27. note "Serial2ISDN for ARA." 2
  28. pause 5
  29. settries 0
  30. ! ---------- control if Serial2ISDN is openned
  31. @LABEL 2
  32. flush
  33. matchclr
  34. matchstr 1 3 "OK"
  35. !
  36. write "ATZ\13"
  37. matchread 30
  38. !
  39. inctries
  40. iftries 2 71
  41. lbreak
  42. jump 2
  43. !
  44. ! ---------- control version of Serial2ISDN
  45. @LABEL 3
  46. flush
  47. matchclr
  48. matchstr 1 4 "Version 1.1"
  49. !
  50. write "AT*VERS\13"
  51. matchread 30
  52. !
  53. jump 100
  54. !
  55. ! ---------- ARA Parameter
  56. @LABEL 4
  57. !
  58. flush
  59. matchclr
  60. matchstr 1 9 "OK"
  61. !
  62. write "AT&ARA\13"
  63. matchread 200
  64. !
  65. jump 100
  66. !
  67. ! ========== LABEL 8 -----------------------------------------------------------
  68. ! Initialisation de Serial2ISDN
  69. !
  70. ! NMP10 requested       (parm 4 == 2) jump to 9
  71. ! V41 link requested    (parm 4 == 1) jump to 9
  72. ! No V41 link requested (parm 4 == 0) jump to 9
  73. !
  74. @LABEL 8
  75. !
  76. ifstr 4 9 "2"
  77. ifstr 4 9 "1"
  78. ifstr 4 9 "0"
  79. jump 76
  80. !
  81. ! ========== LABEL 9 -----------------------------------------------------------
  82. ! Fin de la portion de script commune au mode ORIGINATE & ANSWER
  83. !
  84. @LABEL 9
  85. !
  86. note "Serial2ISDN for ARA initialized." 2
  87. pause 10
  88. !
  89. ifANSWER 62
  90. !
  91. ! ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  92. ! ORIGINATE mode. - Dialing
  93. ! ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  94. ! Dial type dispatch
  95. !
  96. ! This card has a 31 chars command buffer for dialing but cannot dial several
  97. ! strings in a row to form long dial strings. So no break up will take place here.
  98. !
  99. ! Parameter 1 contains the full dialstring from the connection document.
  100. ! Parameter 3 contains "P" for pulse & "T" for tone dialing.
  101. ! Parameter 7, 8 & 9 normally contain the dial string fragments.
  102. ! Since break up cannot be used, the parm 1 will be used for dialing
  103. !
  104. ! Normal dialing (parm 6 == 0) jump to 19
  105. ! Blind  dialing (parm 6 == 1) jump to 19
  106. ! Manual dialing (parm 6 == 2) jump to 19 
  107. !
  108. ifstr 6 19 "0"
  109. ifstr 6 19 "1"
  110. ifstr 6 19 "2"
  111. jump 76
  112. !
  113. ! ========== LABEL 19 ----------------------------------------------------------
  114. ! Normal dialing
  115. !
  116. @label 19
  117. !
  118. note "Calling : ^1" 3
  119. write "ATD^1\13"
  120. jump 32
  121. !
  122. !
  123. !•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  124. !    Connecting - label range is 31-60
  125. !•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  126. ! ========== LABEL 32 ----------------------------------------------------------
  127. !
  128. @LABEL 32
  129. !
  130. matchclr
  131. !
  132. matchstr 1  55 "CONNECT"
  133. matchstr 2  68 "RING"
  134. !
  135. matchstr 3  73 "NO CARRIER"
  136. matchstr 4  73 "ERROR"
  137. matchstr 5  80 "TIME OUT"
  138. !
  139. matchread 600
  140. !
  141. ! If in ANSWER mode, loop back.
  142. ! Else in ORIGINATE mode, the modem has timed out.
  143. !
  144. ifANSWER 32
  145. jump 71
  146. !
  147. ! ========== LABEL 55 ----------------------------------------------------------
  148. ! Connection established
  149. !
  150. @LABEL 55
  151. !
  152. USERHOOK 1
  153. CommunicatingAt 64000
  154. !
  155. ! -- Modem error correction link negotiation --
  156. ! Userhook 2 informs ARA that a modem-to-modem error
  157. ! correcting protocol has been negotiated
  158. !
  159. USERHOOK 2
  160. !
  161. ! -- Compression negotiation --
  162. ! Userhook 3 informs ARA that a modem-to-modem compression
  163. ! protocol has been negotiated
  164. !
  165. ! USERHOOK 3
  166. !
  167. ! -- Modem error correction link negotiation --
  168. ! Userhook 4 informs ARA that a modem-to-modem error
  169. ! correcting NM10 protocol has been negotiated
  170. !
  171. ! USERHOOK 4
  172. !
  173. note "Connection established..." 2
  174. pause 50
  175. exit 0
  176. !
  177. ! ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  178. ! Here is ANSWER mode initialization part - label range is 61-70
  179. ! ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  180. ! ========== LABEL 62 ----------------------------------------------------------
  181. ! Set the adapter to answer on 1st ring
  182. !
  183. @LABEL 62
  184. !
  185. note "Waiting for call..." 2
  186. pause 10
  187. !
  188. matchclr
  189. matchstr 1 32 "OK"
  190. write "ATS0=1\13"
  191. matchread 30
  192. jump 71
  193. !
  194. ! ========== LABEL 68 ----------------------------------------------------------
  195. ! RING entry point
  196. ! If ORIGINATE mode return to waiting for input.
  197. ! Else claim the serial port and return.
  198. @LABEL 68
  199. !
  200. ifORIGINATE 32
  201. userhook 1
  202. note "Answering..." 2
  203. jump 32
  204. !
  205. ! ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  206. ! Error messages - label range is 71-100
  207. ! ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  208. ! ========== LABEL 71 ----------------------------------------------------------
  209. ! Modem Not Responding
  210. !
  211. @LABEL 71
  212. exit -6019
  213. ! ========== LABEL 72 ----------------------------------------------------------
  214. ! No Dialtone
  215. !
  216. @LABEL 72
  217. exit -6020
  218. ! ========== LABEL 73 ----------------------------------------------------------
  219. ! No Carrier or Error
  220. !
  221. @LABEL 73
  222. exit -6021
  223. ! ========== LABEL 74 ----------------------------------------------------------
  224. ! Busy
  225. !
  226. @LABEL 74
  227. exit -6022
  228. ! ========== LABEL 75 ----------------------------------------------------------
  229. ! No Answer
  230. !
  231. @LABEL 75
  232. exit -6023
  233. ! ========== LABEL 76 ----------------------------------------------------------
  234. ! Invalid Varstring Value
  235. !
  236. @LABEL 76
  237. exit -6027
  238. ! ========== LABEL 77 ----------------------------------------------------------
  239. ! Delayed Number (blacklisted)
  240. !
  241. @LABEL 77
  242. exit -6002 "Delayed Number."
  243. ! ========== LABEL 78 ----------------------------------------------------------
  244. ! Number forbidden (blacklisted)
  245. !
  246. @LABEL 78
  247. exit -6002 "Number forbidden. Initialize the card to reuse this number."
  248. ! ========== LABEL 79 ----------------------------------------------------------
  249. ! Blacklist full
  250. @LABEL 79
  251. exit -6002 "Blacklist full. Initialize the card."
  252. ! ========== LABEL 80 ----------------------------------------------------------
  253. ! Time Out
  254. @LABEL 80
  255. exit -6002 "No response. Time Out elapsed."
  256. ! ========== LABEL 100 ---------------------------------------------------------
  257. ! Serial2ISDN incompatible
  258. !
  259. @LABEL 100
  260. exit -6002 "Version of Serial2ISDN incompatible."
  261. !
  262. ! ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  263. ! Hang up the adapter - label range is 101-120
  264. ! ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  265. @HANGUP
  266. ! ========== LABEL 101 ---------------------------------------------------------
  267. !
  268. @LABEL 101
  269. !
  270. flush
  271. settries 0
  272. HSReset 0 0 0 0 0 0
  273. !
  274. ! ========== LABEL 102 ---------------------------------------------------------
  275. ! Drop the adapter into command mode with escape sequence.
  276. ! Then tell adapter to hangup.
  277. ! Repeat hangup command and escape sequence 3 times max.
  278. !
  279. @LABEL 102
  280. !
  281. flush
  282. matchclr
  283. matchstr 1 103 "OK\13\10"
  284. pause 10
  285. write "+++"
  286. pause 10
  287. matchread 50
  288. !
  289. ! ========== LABEL 103 ---------------------------------------------------------
  290. ! Pause between data and command mode
  291. !
  292. @LABEL 103
  293. !
  294. pause 20
  295. flush
  296. settries 0
  297. !
  298. ! ========== LABEL 104 ---------------------------------------------------------
  299. !
  300. @LABEL 104
  301. !
  302. matchclr
  303. matchstr 1 120 "OK"
  304. write "ATH\13"
  305. flush
  306. matchread 200
  307. inctries
  308. iftries 3 71
  309. jump 104
  310. !
  311. ! ========== LABEL 120 ---------------------------------------------------------
  312. !
  313. @LABEL 120
  314. !
  315. exit 0
  316. !
  317. ! ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  318. ! Labels 121-128 are reserved for future emergency hacks.
  319. ! ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  320.